import wepy from 'wepy'

export default class CartMix extends wepy.mixin {
  data = {
    // 购物车数据
    cart: []
  }

  onLoad() {
    // 从全局共享的数据中取到购物车数据并赋值
    this.cart = this.$parent.globalData.cart
  }

  computed = {
    isEmpty() {
      if (this.cart.length <= 0) {
        return true
      }

      return false
    },

    // 计算已勾选商品的价格
    amount () {
      // 已勾选商品的总价格
      let total = 0

      this.cart.forEach(item => {
        // 判断商品是否被勾选
        if (item.isCheck) {
          total += item.count * item.price
        }
      })

      return total * 100
    },

    // 通过计算属性进行全选操作
    isFullChecked () {
      // 先获取购物车商品的个数
      const allCount = this.cart.length

      let c = 0
      this.cart.forEach(item => {
        if (item.isCheck) {
          c++
        }
      })

      return allCount == c
    }
  }

  methods = {
    countChanged(e) {
      // console.log(e)
      // 最新的数量
      // console.log(e.detail)
      // 获取商品的 id
      // console.log(e.target.dataset.id)
      this.$parent.updateGoodsCount(e.target.dataset.id, e.detail)
    },

    statusChange(e) {
      // console.log(e)
      // 获取最新的状态
      // console.log(e.detail)
      // 获取商品的 id
      // console.log(e.target.dataset.id)
      this.$parent.updateGoodsStatus(e.target.dataset.id, e.detail)
    },

    onFullCheckChange (e) {
      console.log(e.detail)
      this.$parent.updateAllGoodsStatus(e.detail)
    },

    close (id) {
      this.$parent.removeGoodsById(id)
    },

    orderSubmit () {
      if (this.amount <= 0) {
        return wepy.baseToast('订单金额不能为 零 ！')
      }

      wepy.navigateTo({
        url: '/pages/order'
      })
    }
  }
}
